package com.yiren.backstage.db.dao;

import java.util.Map;

import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.AbstractDaoSession;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.identityscope.IdentityScopeType;
import org.greenrobot.greendao.internal.DaoConfig;

import com.yiren.backstage.currency.entity.CarModelEntity;
import com.yiren.backstage.currency.entity.DataSynStateEntity;
import com.yiren.backstage.currency.entity.ExamConfigEntity;
import com.yiren.backstage.currency.entity.GradeStandardEntity;
import com.yiren.backstage.currency.entity.JudgeDetailsEntity;
import com.yiren.backstage.currency.entity.JudgeEntity;
import com.yiren.backstage.currency.entity.JudgeResultEntity;
import com.yiren.backstage.currency.entity.LightCombinationEntity;
import com.yiren.backstage.currency.entity.LineInfoEntity;
import com.yiren.backstage.currency.entity.MapEntity;
import com.yiren.backstage.currency.entity.MonitorCountEntity;
import com.yiren.backstage.currency.entity.ProjectEntity;
import com.yiren.backstage.currency.entity.ProjectJudgeEntity;
import com.yiren.backstage.currency.entity.RiskNotNetTimeEntity;
import com.yiren.backstage.currency.entity.SingleLightEntity;
import com.yiren.backstage.currency.entity.SiteEntity;
import com.yiren.backstage.currency.entity.StateMonitorEntity;
import com.yiren.backstage.currency.entity.TrajectoryEntity;
import com.yiren.backstage.currency.entity.TrajectoryPointEntity;
import com.yiren.backstage.currency.entity.record.CarInfoRecordEntity;
import com.yiren.backstage.currency.entity.record.CarRecordPointEntity;
import com.yiren.backstage.currency.entity.record.ProjectGradeEntity;
import com.yiren.backstage.currency.entity.record.ProjectInfoEntity;

import com.yiren.backstage.db.dao.CarModelEntityDao;
import com.yiren.backstage.db.dao.DataSynStateEntityDao;
import com.yiren.backstage.db.dao.ExamConfigEntityDao;
import com.yiren.backstage.db.dao.GradeStandardEntityDao;
import com.yiren.backstage.db.dao.JudgeDetailsEntityDao;
import com.yiren.backstage.db.dao.JudgeEntityDao;
import com.yiren.backstage.db.dao.JudgeResultEntityDao;
import com.yiren.backstage.db.dao.LightCombinationEntityDao;
import com.yiren.backstage.db.dao.LineInfoEntityDao;
import com.yiren.backstage.db.dao.MapEntityDao;
import com.yiren.backstage.db.dao.MonitorCountEntityDao;
import com.yiren.backstage.db.dao.ProjectEntityDao;
import com.yiren.backstage.db.dao.ProjectJudgeEntityDao;
import com.yiren.backstage.db.dao.RiskNotNetTimeEntityDao;
import com.yiren.backstage.db.dao.SingleLightEntityDao;
import com.yiren.backstage.db.dao.SiteEntityDao;
import com.yiren.backstage.db.dao.StateMonitorEntityDao;
import com.yiren.backstage.db.dao.TrajectoryEntityDao;
import com.yiren.backstage.db.dao.TrajectoryPointEntityDao;
import com.yiren.backstage.db.dao.CarInfoRecordEntityDao;
import com.yiren.backstage.db.dao.CarRecordPointEntityDao;
import com.yiren.backstage.db.dao.ProjectGradeEntityDao;
import com.yiren.backstage.db.dao.ProjectInfoEntityDao;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.

/**
 * {@inheritDoc}
 * 
 * @see org.greenrobot.greendao.AbstractDaoSession
 */
public class DaoSession extends AbstractDaoSession {

    private final DaoConfig carModelEntityDaoConfig;
    private final DaoConfig dataSynStateEntityDaoConfig;
    private final DaoConfig examConfigEntityDaoConfig;
    private final DaoConfig gradeStandardEntityDaoConfig;
    private final DaoConfig judgeDetailsEntityDaoConfig;
    private final DaoConfig judgeEntityDaoConfig;
    private final DaoConfig judgeResultEntityDaoConfig;
    private final DaoConfig lightCombinationEntityDaoConfig;
    private final DaoConfig lineInfoEntityDaoConfig;
    private final DaoConfig mapEntityDaoConfig;
    private final DaoConfig monitorCountEntityDaoConfig;
    private final DaoConfig projectEntityDaoConfig;
    private final DaoConfig projectJudgeEntityDaoConfig;
    private final DaoConfig riskNotNetTimeEntityDaoConfig;
    private final DaoConfig singleLightEntityDaoConfig;
    private final DaoConfig siteEntityDaoConfig;
    private final DaoConfig stateMonitorEntityDaoConfig;
    private final DaoConfig trajectoryEntityDaoConfig;
    private final DaoConfig trajectoryPointEntityDaoConfig;
    private final DaoConfig carInfoRecordEntityDaoConfig;
    private final DaoConfig carRecordPointEntityDaoConfig;
    private final DaoConfig projectGradeEntityDaoConfig;
    private final DaoConfig projectInfoEntityDaoConfig;

    private final CarModelEntityDao carModelEntityDao;
    private final DataSynStateEntityDao dataSynStateEntityDao;
    private final ExamConfigEntityDao examConfigEntityDao;
    private final GradeStandardEntityDao gradeStandardEntityDao;
    private final JudgeDetailsEntityDao judgeDetailsEntityDao;
    private final JudgeEntityDao judgeEntityDao;
    private final JudgeResultEntityDao judgeResultEntityDao;
    private final LightCombinationEntityDao lightCombinationEntityDao;
    private final LineInfoEntityDao lineInfoEntityDao;
    private final MapEntityDao mapEntityDao;
    private final MonitorCountEntityDao monitorCountEntityDao;
    private final ProjectEntityDao projectEntityDao;
    private final ProjectJudgeEntityDao projectJudgeEntityDao;
    private final RiskNotNetTimeEntityDao riskNotNetTimeEntityDao;
    private final SingleLightEntityDao singleLightEntityDao;
    private final SiteEntityDao siteEntityDao;
    private final StateMonitorEntityDao stateMonitorEntityDao;
    private final TrajectoryEntityDao trajectoryEntityDao;
    private final TrajectoryPointEntityDao trajectoryPointEntityDao;
    private final CarInfoRecordEntityDao carInfoRecordEntityDao;
    private final CarRecordPointEntityDao carRecordPointEntityDao;
    private final ProjectGradeEntityDao projectGradeEntityDao;
    private final ProjectInfoEntityDao projectInfoEntityDao;

    public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
            daoConfigMap) {
        super(db);

        carModelEntityDaoConfig = daoConfigMap.get(CarModelEntityDao.class).clone();
        carModelEntityDaoConfig.initIdentityScope(type);

        dataSynStateEntityDaoConfig = daoConfigMap.get(DataSynStateEntityDao.class).clone();
        dataSynStateEntityDaoConfig.initIdentityScope(type);

        examConfigEntityDaoConfig = daoConfigMap.get(ExamConfigEntityDao.class).clone();
        examConfigEntityDaoConfig.initIdentityScope(type);

        gradeStandardEntityDaoConfig = daoConfigMap.get(GradeStandardEntityDao.class).clone();
        gradeStandardEntityDaoConfig.initIdentityScope(type);

        judgeDetailsEntityDaoConfig = daoConfigMap.get(JudgeDetailsEntityDao.class).clone();
        judgeDetailsEntityDaoConfig.initIdentityScope(type);

        judgeEntityDaoConfig = daoConfigMap.get(JudgeEntityDao.class).clone();
        judgeEntityDaoConfig.initIdentityScope(type);

        judgeResultEntityDaoConfig = daoConfigMap.get(JudgeResultEntityDao.class).clone();
        judgeResultEntityDaoConfig.initIdentityScope(type);

        lightCombinationEntityDaoConfig = daoConfigMap.get(LightCombinationEntityDao.class).clone();
        lightCombinationEntityDaoConfig.initIdentityScope(type);

        lineInfoEntityDaoConfig = daoConfigMap.get(LineInfoEntityDao.class).clone();
        lineInfoEntityDaoConfig.initIdentityScope(type);

        mapEntityDaoConfig = daoConfigMap.get(MapEntityDao.class).clone();
        mapEntityDaoConfig.initIdentityScope(type);

        monitorCountEntityDaoConfig = daoConfigMap.get(MonitorCountEntityDao.class).clone();
        monitorCountEntityDaoConfig.initIdentityScope(type);

        projectEntityDaoConfig = daoConfigMap.get(ProjectEntityDao.class).clone();
        projectEntityDaoConfig.initIdentityScope(type);

        projectJudgeEntityDaoConfig = daoConfigMap.get(ProjectJudgeEntityDao.class).clone();
        projectJudgeEntityDaoConfig.initIdentityScope(type);

        riskNotNetTimeEntityDaoConfig = daoConfigMap.get(RiskNotNetTimeEntityDao.class).clone();
        riskNotNetTimeEntityDaoConfig.initIdentityScope(type);

        singleLightEntityDaoConfig = daoConfigMap.get(SingleLightEntityDao.class).clone();
        singleLightEntityDaoConfig.initIdentityScope(type);

        siteEntityDaoConfig = daoConfigMap.get(SiteEntityDao.class).clone();
        siteEntityDaoConfig.initIdentityScope(type);

        stateMonitorEntityDaoConfig = daoConfigMap.get(StateMonitorEntityDao.class).clone();
        stateMonitorEntityDaoConfig.initIdentityScope(type);

        trajectoryEntityDaoConfig = daoConfigMap.get(TrajectoryEntityDao.class).clone();
        trajectoryEntityDaoConfig.initIdentityScope(type);

        trajectoryPointEntityDaoConfig = daoConfigMap.get(TrajectoryPointEntityDao.class).clone();
        trajectoryPointEntityDaoConfig.initIdentityScope(type);

        carInfoRecordEntityDaoConfig = daoConfigMap.get(CarInfoRecordEntityDao.class).clone();
        carInfoRecordEntityDaoConfig.initIdentityScope(type);

        carRecordPointEntityDaoConfig = daoConfigMap.get(CarRecordPointEntityDao.class).clone();
        carRecordPointEntityDaoConfig.initIdentityScope(type);

        projectGradeEntityDaoConfig = daoConfigMap.get(ProjectGradeEntityDao.class).clone();
        projectGradeEntityDaoConfig.initIdentityScope(type);

        projectInfoEntityDaoConfig = daoConfigMap.get(ProjectInfoEntityDao.class).clone();
        projectInfoEntityDaoConfig.initIdentityScope(type);

        carModelEntityDao = new CarModelEntityDao(carModelEntityDaoConfig, this);
        dataSynStateEntityDao = new DataSynStateEntityDao(dataSynStateEntityDaoConfig, this);
        examConfigEntityDao = new ExamConfigEntityDao(examConfigEntityDaoConfig, this);
        gradeStandardEntityDao = new GradeStandardEntityDao(gradeStandardEntityDaoConfig, this);
        judgeDetailsEntityDao = new JudgeDetailsEntityDao(judgeDetailsEntityDaoConfig, this);
        judgeEntityDao = new JudgeEntityDao(judgeEntityDaoConfig, this);
        judgeResultEntityDao = new JudgeResultEntityDao(judgeResultEntityDaoConfig, this);
        lightCombinationEntityDao = new LightCombinationEntityDao(lightCombinationEntityDaoConfig, this);
        lineInfoEntityDao = new LineInfoEntityDao(lineInfoEntityDaoConfig, this);
        mapEntityDao = new MapEntityDao(mapEntityDaoConfig, this);
        monitorCountEntityDao = new MonitorCountEntityDao(monitorCountEntityDaoConfig, this);
        projectEntityDao = new ProjectEntityDao(projectEntityDaoConfig, this);
        projectJudgeEntityDao = new ProjectJudgeEntityDao(projectJudgeEntityDaoConfig, this);
        riskNotNetTimeEntityDao = new RiskNotNetTimeEntityDao(riskNotNetTimeEntityDaoConfig, this);
        singleLightEntityDao = new SingleLightEntityDao(singleLightEntityDaoConfig, this);
        siteEntityDao = new SiteEntityDao(siteEntityDaoConfig, this);
        stateMonitorEntityDao = new StateMonitorEntityDao(stateMonitorEntityDaoConfig, this);
        trajectoryEntityDao = new TrajectoryEntityDao(trajectoryEntityDaoConfig, this);
        trajectoryPointEntityDao = new TrajectoryPointEntityDao(trajectoryPointEntityDaoConfig, this);
        carInfoRecordEntityDao = new CarInfoRecordEntityDao(carInfoRecordEntityDaoConfig, this);
        carRecordPointEntityDao = new CarRecordPointEntityDao(carRecordPointEntityDaoConfig, this);
        projectGradeEntityDao = new ProjectGradeEntityDao(projectGradeEntityDaoConfig, this);
        projectInfoEntityDao = new ProjectInfoEntityDao(projectInfoEntityDaoConfig, this);

        registerDao(CarModelEntity.class, carModelEntityDao);
        registerDao(DataSynStateEntity.class, dataSynStateEntityDao);
        registerDao(ExamConfigEntity.class, examConfigEntityDao);
        registerDao(GradeStandardEntity.class, gradeStandardEntityDao);
        registerDao(JudgeDetailsEntity.class, judgeDetailsEntityDao);
        registerDao(JudgeEntity.class, judgeEntityDao);
        registerDao(JudgeResultEntity.class, judgeResultEntityDao);
        registerDao(LightCombinationEntity.class, lightCombinationEntityDao);
        registerDao(LineInfoEntity.class, lineInfoEntityDao);
        registerDao(MapEntity.class, mapEntityDao);
        registerDao(MonitorCountEntity.class, monitorCountEntityDao);
        registerDao(ProjectEntity.class, projectEntityDao);
        registerDao(ProjectJudgeEntity.class, projectJudgeEntityDao);
        registerDao(RiskNotNetTimeEntity.class, riskNotNetTimeEntityDao);
        registerDao(SingleLightEntity.class, singleLightEntityDao);
        registerDao(SiteEntity.class, siteEntityDao);
        registerDao(StateMonitorEntity.class, stateMonitorEntityDao);
        registerDao(TrajectoryEntity.class, trajectoryEntityDao);
        registerDao(TrajectoryPointEntity.class, trajectoryPointEntityDao);
        registerDao(CarInfoRecordEntity.class, carInfoRecordEntityDao);
        registerDao(CarRecordPointEntity.class, carRecordPointEntityDao);
        registerDao(ProjectGradeEntity.class, projectGradeEntityDao);
        registerDao(ProjectInfoEntity.class, projectInfoEntityDao);
    }
    
    public void clear() {
        carModelEntityDaoConfig.clearIdentityScope();
        dataSynStateEntityDaoConfig.clearIdentityScope();
        examConfigEntityDaoConfig.clearIdentityScope();
        gradeStandardEntityDaoConfig.clearIdentityScope();
        judgeDetailsEntityDaoConfig.clearIdentityScope();
        judgeEntityDaoConfig.clearIdentityScope();
        judgeResultEntityDaoConfig.clearIdentityScope();
        lightCombinationEntityDaoConfig.clearIdentityScope();
        lineInfoEntityDaoConfig.clearIdentityScope();
        mapEntityDaoConfig.clearIdentityScope();
        monitorCountEntityDaoConfig.clearIdentityScope();
        projectEntityDaoConfig.clearIdentityScope();
        projectJudgeEntityDaoConfig.clearIdentityScope();
        riskNotNetTimeEntityDaoConfig.clearIdentityScope();
        singleLightEntityDaoConfig.clearIdentityScope();
        siteEntityDaoConfig.clearIdentityScope();
        stateMonitorEntityDaoConfig.clearIdentityScope();
        trajectoryEntityDaoConfig.clearIdentityScope();
        trajectoryPointEntityDaoConfig.clearIdentityScope();
        carInfoRecordEntityDaoConfig.clearIdentityScope();
        carRecordPointEntityDaoConfig.clearIdentityScope();
        projectGradeEntityDaoConfig.clearIdentityScope();
        projectInfoEntityDaoConfig.clearIdentityScope();
    }

    public CarModelEntityDao getCarModelEntityDao() {
        return carModelEntityDao;
    }

    public DataSynStateEntityDao getDataSynStateEntityDao() {
        return dataSynStateEntityDao;
    }

    public ExamConfigEntityDao getExamConfigEntityDao() {
        return examConfigEntityDao;
    }

    public GradeStandardEntityDao getGradeStandardEntityDao() {
        return gradeStandardEntityDao;
    }

    public JudgeDetailsEntityDao getJudgeDetailsEntityDao() {
        return judgeDetailsEntityDao;
    }

    public JudgeEntityDao getJudgeEntityDao() {
        return judgeEntityDao;
    }

    public JudgeResultEntityDao getJudgeResultEntityDao() {
        return judgeResultEntityDao;
    }

    public LightCombinationEntityDao getLightCombinationEntityDao() {
        return lightCombinationEntityDao;
    }

    public LineInfoEntityDao getLineInfoEntityDao() {
        return lineInfoEntityDao;
    }

    public MapEntityDao getMapEntityDao() {
        return mapEntityDao;
    }

    public MonitorCountEntityDao getMonitorCountEntityDao() {
        return monitorCountEntityDao;
    }

    public ProjectEntityDao getProjectEntityDao() {
        return projectEntityDao;
    }

    public ProjectJudgeEntityDao getProjectJudgeEntityDao() {
        return projectJudgeEntityDao;
    }

    public RiskNotNetTimeEntityDao getRiskNotNetTimeEntityDao() {
        return riskNotNetTimeEntityDao;
    }

    public SingleLightEntityDao getSingleLightEntityDao() {
        return singleLightEntityDao;
    }

    public SiteEntityDao getSiteEntityDao() {
        return siteEntityDao;
    }

    public StateMonitorEntityDao getStateMonitorEntityDao() {
        return stateMonitorEntityDao;
    }

    public TrajectoryEntityDao getTrajectoryEntityDao() {
        return trajectoryEntityDao;
    }

    public TrajectoryPointEntityDao getTrajectoryPointEntityDao() {
        return trajectoryPointEntityDao;
    }

    public CarInfoRecordEntityDao getCarInfoRecordEntityDao() {
        return carInfoRecordEntityDao;
    }

    public CarRecordPointEntityDao getCarRecordPointEntityDao() {
        return carRecordPointEntityDao;
    }

    public ProjectGradeEntityDao getProjectGradeEntityDao() {
        return projectGradeEntityDao;
    }

    public ProjectInfoEntityDao getProjectInfoEntityDao() {
        return projectInfoEntityDao;
    }

}
